

#ifndef _UCUTMEM_H
#define _UCUTMEM_H

#include "zacadstrc.h"
#include "zAdAChar.h"

#pragma pack (push, 8)

Ucad::ErrorStatus ucutNewBuffer(void *&pOutput, size_t size);
Ucad::ErrorStatus ucutNewString(ZTCHAR *&pOutput, int nNumChars);
Ucad::ErrorStatus ucutNewString(const ZTCHAR* pInput, ZTCHAR*& pOutput);
Ucad::ErrorStatus ucutUpdString(const ZTCHAR* pInput, ZTCHAR*& pOutput);

void ucutDelBuffer(void *& pBuffer);


inline Ucad::ErrorStatus ucutNewBuffer(char *&pOutput, size_t size)
{
    return ::ucutNewBuffer((void * &)pOutput, size);
}

inline void ucutDelBuffer(char *& pString)
{
    ::ucutDelBuffer((void * &)pString);
}

inline void ucutDelString(char *& pString)
{
    ::ucutDelBuffer((void * &)pString);
}

inline void ucutDelString(wchar_t *& pString)
{
    ::ucutDelBuffer((void * &)pString);
}

#pragma pack (pop)
#endif 
